<!--
旋转木马
    一个大盒子（开启三维立体环境、添加近大远小效果），
    里面装着多个子元素（围绕中心按要求摆放位置），
    然后大盒子利用动画旋转起来。

    - 旋转轴：y轴，左右旋转
    - 周边图片位置：往z移动、旋转y特定的角度（这里比较特殊，不是先移动后旋转，而是先旋转后移动）
    - 周边图片数量：4、6、8张都行，只要张数与角度自适应，围着一周均匀放置都可以

注意：
    透视
        只给爷爷就行，因为父盒子、子盒子可以共享爷爷的透视，共1个
            - 父盒子旋转需要近大远小
            - 子盒子被动跟着父盒子转也需要近大远小
    立体环境
        给最近一级的父盒子，不是给爷爷，除非父盒子也需要立体环境，那就再追加一个给爷爷，共2个
    透视、z距离大小
        一定要合适，自己慢慢利用浏览器调试

拓展
    自己可以试试x轴，上下旋转
        - 旋转轴：x轴
        - 周边图片：往z移动，旋转x特定角度
-->
<style>
  * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }
  body {
    /* 大盒子旋转也需要近大远小，所以透视最好给大盒子的父级 */
    perspective: 1500px;
  }
  .box {
    position: relative;
    width: 300px;
    height: 200px;
    margin: 200px auto;
    /* background-color: cyan; */
    /* 透视、三维环境、动画 */
    /* perspective: 1500px; */
    transform-style: preserve-3d;
    animation: myAnimation 5s linear infinite;
  }
  /* 动画 */
  .box:hover {
    animation-play-state: paused;
  }
  @keyframes myAnimation {
    to {
      /* 旋转轴不同，效果不同 */
      /* transform: rotateY(360deg); */
      /* transform: rotateX(-360deg); */
      /* transform: rotateY(1turn) rotateX(30deg); */
      transform: rotateY(1turn) rotateX(1turn);
    }
  }

  .box div {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(./img/item.png) no-repeat;
    background-size: 100%;
  }
  /* 周边图片需要【先旋转、后位移】的效果，不是【先位移、后旋转】的效果 */
  /* 角度：6张图，平均60度；位移：都是z=300px。 */
  .box div:nth-child(2) {
    transform: translateZ(300px);
  }
  .box div:nth-child(3) {
    transform: rotateY(60deg) translateZ(300px);
  }
  .box div:nth-child(4) {
    transform: rotateY(120deg) translateZ(300px);
  }
  .box div:nth-child(5) {
    transform: rotateY(180deg) translateZ(300px);
  }
  .box div:nth-child(6) {
    transform: rotateY(240deg) translateZ(300px);
  }
  .box div:nth-child(7) {
    transform: rotateY(300deg) translateZ(300px);
  }
</style>

<div class="box">
  <div class="center"></div>
  <div></div>
  <div></div>
  <div></div>
  <div></div>
  <div></div>
  <div></div>
</div>
